Drop gtk_widget_send_focus_change
authorMatthias Clasen <mclasen@redhat.com>
Sun, 3 Mar 2019 02:03:38 +0000 (21:03 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 17 Mar 2019 01:24:44 +0000 (21:24 -0400)
Replace this with gtk_widget_set_has_focus + gtk_widget_event.

gtk/gtktreeview.c
gtk/gtkwidget.c
gtk/gtkwidget.h
gtk/gtkwidgetprivate.h
gtk/gtkwindow.c

index 1a4ed0488a0eaea8b9e79d27938e4cd07633d5b9..29da6f8876897e654614635fbe09c5f946b68faa 100644 (file)
@@ -10151,7 +10151,8 @@ send_focus_change (GtkWidget *widget,
       fevent->focus_change.in = in;
       gdk_event_set_device (fevent, device);
 
-      gtk_widget_send_focus_change (widget, fevent);
+      gtk_widget_set_has_focus (widget, in);
+      gtk_widget_event (widget, fevent);
 
       g_object_unref (fevent);
     }
index c5eb6d63cb2980f9023a6252c5b0f4fcfbc6766f..f9dafac7475983ea71392ba6b366d28e3c578b1d 100644 (file)
@@ -11573,56 +11573,6 @@ gtk_widget_get_overflow (GtkWidget *widget)
   return priv->overflow;
 }
 
-/**
- * gtk_widget_send_focus_change:
- * @widget: a #GtkWidget
- * @event: a #GdkEvent of type GDK_FOCUS_CHANGE
- *
- * Sends the focus change @event to @widget
- *
- * This function is not meant to be used by applications. The only time it
- * should be used is when it is necessary for a #GtkWidget to assign focus
- * to a widget that is semantically owned by the first widget even though
- * it’s not a direct child - for instance, a search entry in a floating
- * window similar to the quick search in #GtkTreeView.
- *
- * An example of its usage is:
- *
- * |[<!-- language="C" -->
- *   GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE);
- *
- *   fevent->focus_change.type = GDK_FOCUS_CHANGE;
- *   fevent->focus_change.in = TRUE;
- *   fevent->focus_change.surface = _gtk_widget_get_surface (widget);
- *   if (fevent->focus_change.surface != NULL)
- *     g_object_ref (fevent->focus_change.surface);
- *
- *   gtk_widget_send_focus_change (widget, fevent);
- *
- *   g_object_unref (event);
- * ]|
- *
- * Returns: the return value from the event signal emission: %TRUE
- *   if the event was handled, and %FALSE otherwise
- */
-gboolean
-gtk_widget_send_focus_change (GtkWidget *widget,
-                              GdkEvent  *event)
-{
-  GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
-
-  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-  g_return_val_if_fail (event != NULL && event->any.type == GDK_FOCUS_CHANGE, FALSE);
-
-  priv->has_focus = event->focus_change.in;
-
-  gtk_propagate_event (widget, event);
-
-  g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_HAS_FOCUS]);
-
-  return TRUE;
-}
-
 void
 gtk_widget_set_has_focus (GtkWidget *widget,
                           gboolean   has_focus)
index f3012b07a4c97ed4b72b5b79a0e68356067c8061..d9dbfaf88545e2dc09266dcafc903427d3d5360d 100644 (file)
@@ -451,9 +451,6 @@ gboolean   gtk_widget_mnemonic_activate   (GtkWidget           *widget,
 GDK_AVAILABLE_IN_ALL
 gboolean   gtk_widget_event               (GtkWidget           *widget,
                                            const GdkEvent      *event);
-GDK_AVAILABLE_IN_ALL
-gboolean   gtk_widget_send_focus_change   (GtkWidget           *widget,
-                                           GdkEvent            *event);
 
 GDK_AVAILABLE_IN_ALL
 gboolean   gtk_widget_activate               (GtkWidget        *widget);
index ca30e9b0f3dfebbc87237b473cf03f451b6f7453..231748d65505b4a82ab55b89123c6d2aee381688 100644 (file)
@@ -336,6 +336,7 @@ gboolean          gtk_widget_run_controllers               (GtkWidget
                                                             const GdkEvent      *event,
                                                             GtkPropagationPhase  phase);
 
+
 /* inline getters */
 
 static inline GtkWidget *
index 97a886009c08f6fe3893f3d69f741f07ddeb1dec..d2fd050ffcc54725243696f2d676411764fb9809 100644 (file)
@@ -7036,7 +7036,7 @@ gtk_window_real_activate_focus (GtkWindow *window)
 
 static void
 do_focus_change (GtkWidget *widget,
-                gboolean   in)
+                 gboolean   in)
 {
   GdkSeat *seat;
   GList *devices, *d;
@@ -7065,7 +7065,8 @@ do_focus_change (GtkWidget *widget,
       fevent->focus_change.in = in;
       gdk_event_set_device (fevent, dev);
 
-      gtk_widget_send_focus_change (widget, fevent);
+      gtk_widget_set_has_focus (widget, in);
+      gtk_widget_event (widget, fevent);
 
       g_object_unref (fevent);
     }